package com.jishuo.nontax.bfc.dao;

import com.jishuo.base.bean.GridResult;
import com.jishuo.nontax.bean.vo.CheckDataVO;
import com.jishuo.nontax.bean.vo.IllegalactivityDetailVO;
import com.jishuo.nontax.bean.vo.IllegalactivityinfoVO;
import com.jishuo.nontax.bean.vo.NumAmtVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @auther dinggaofei
 * @Date 2022/12/23 9:24
 */
@Mapper
public interface IllegalactivityinfoMapper {

    /**
     * 更新交罚业务表
     *
     * @param illegalactivityinfoVO 交罚对象
     * @return
     */
    int updateIllegalactivityBankAffirm(IllegalactivityinfoVO illegalactivityinfoVO);

    /**
     * 修改跨省交管处罚单据
     *
     * @param illegalactivityinfoVO 交罚对象
     * @return
     */
    int updateIllegalactivityInfo(IllegalactivityinfoVO illegalactivityinfoVO);

    /**
     * 根据异地和票据号统计个数
     *
     * @param billnum 票据号
     * @return
     */


    int findIllegInfoCount(String billnum);

    /**
     * 根据票据号统计个数
     *
     * @param billnum
     * @return
     */
    int findIllegInfoMsgCount(String billnum);

    /**
     * 添加跨省交管处罚单据
     *
     * @param illegalactivityinfoVO 交罚对象
     * @return
     */
    int insertIllegalactivityInfo(IllegalactivityinfoVO illegalactivityinfoVO);

    /**
     * 查询更新完的交罚票据
     *
     * @param billnum 票据号
     * @return
     */
    IllegalactivityinfoVO findIllegalactivityBankAffirm(String billnum);

    /**
     * 获取交管处罚决定书单据
     *
     * @param billnum 票据号
     * @return
     */
    IllegalactivityinfoVO findIllegalactivityInfo(String billnum);

    IllegalactivityinfoVO selectInfo(String billnum);

    /**
     * 添加一个空的交罚单据
     *
     * @param illegalactivityinfoVO 交罚对象
     * @return
     */
    int insertBlankIllegalacInfo(IllegalactivityinfoVO illegalactivityinfoVO);

    /**
     * 发送时更新messageid
     *
     * @param illegalactivityinfoVO 交罚对象
     * @return
     */
    int updateMsgIllegalacInfo(IllegalactivityinfoVO illegalactivityinfoVO);

    /**
     * 修改交罚罚没票据号
     *
     * @param illegalactivityinfoVO 交罚对象
     * @return
     */
    int updateIllegalactivitySpecialbillnum(IllegalactivityinfoVO illegalactivityinfoVO);

    /**
     * 删除交罚明细
     *
     * @param billnum
     * @return
     */
    int delIllegalDetail(String billnum);

    /**
     * 添加交罚明细
     *
     * @param illegalactivityDetailVO
     * @return
     */
    int insertIllegalDetail(IllegalactivityDetailVO illegalactivityDetailVO);

    /**
     * 发送消息时,根据添加的交罚详细信息添加交罚
     *
     * @param illegalactivityinfoVO
     * @return
     */
    int insertMsgIllegalDetail(IllegalactivityinfoVO illegalactivityinfoVO);

    /**
     * 发送消息时,根据添加的交罚详细信息修改交罚
     *
     * @param illegalactivityinfoVO
     * @return
     */
    int updateMsgIllegalDetail(IllegalactivityinfoVO illegalactivityinfoVO);

    /**
     * 发送时更新状态
     *
     * @param sn        报文标示
     * @param billstate 状态
     * @return
     */
    int updateIllegalactivityinfoState(@Param("sn") String sn, @Param("billstate") int billstate);

    int updateActiviInfoIssend(@Param("sn") String sn, @Param("issend") int issend);

    NumAmtVO selectActiviInfoNumAmtTwo(@Param("bankid") String bankid, @Param("paybankdt") String paybankdt);

    NumAmtVO selectActiviInfoNumAmtOne(@Param("bankid") String bankid, @Param("paybankdt") String paybankdt);

    NumAmtVO selectActiviInfoNumAmtThree(@Param("paybankdt") String paybankdt);

    int deleteIllegalactivityinfofiance(@Param("bankid") String bankid, @Param("paybankdt") String paybankdt, @Param("bankaffirm") String bankaffirm);

    int saveIllegalactivityinfofiance(CheckDataVO checkDataVO);

    //页面
    List<IllegalactivityinfoVO> listIllage(IllegalactivityinfoVO illegalactivityinfoVO);

    int saveIllage(IllegalactivityinfoVO illegalactivityinfoVO);

    IllegalactivityinfoVO getIllage(Long iaiid);

    int updateIsbankaffirm(Long iaiid);

    int updateIllegalactivityHxBankaffirm(@Param("billnum") String billnum,@Param("bankaffirm") String hx_bankaffirm);

    /**
     * 根据 集合查询票据信息
     * @param billids
     * @return
     */
    List<IllegalactivityinfoVO> findIllagelactivityInfo(List<String> billids);
}
